;#########################
;#Antitake by Super V1.0#
;#########################
on 1:LOAD: {
  .set %antilamer $$?="Inserisci il nome del tuo #canale es:#Antilamer"
  .set %Bot $$?="Inserisci il nome del Bot del tuo chan"
  .set %modQ $$?="metti ON se vuoi la modalit +Q attivata nel tuo chan sempre anche dopo che viene tolta sfruttando il bug di anope,altrimenti metti OFF"
  .cs levels %antilamer set akick 9999
  .cs levels %antilamer set ACC-CHANGE 9999
  .cs set %antilamer secureops on
  .cs set %antilamer mlock +fntCTG-ikspzR [3j#R1,5t,5n#N1]:5
  .bs kick %antilamer flood on [3[3[3]]]
  .bs kick %antilamer repeat on [3[3]]
  .bs set %antilamer DONTKICKOPS on
  .join #antilamer
  .notice #antilamer $me ha caricato lo script
  .echo -a 4Antilamer by Super caricato
}

alias delogall {
  if ($nick(%antilamer,0) <= 1) { halt }
  set %num 1
  :incl
  set %delogall $nick(%antilamer,%num)
  if (%delogall == $null) { goto end }
  if (%delogall != $me) && (%delogall != %Bot) { /cs logout %antilamer %delogall }
  inc %num 1 | goto incl
  :end
  unset %num %delogall
}

on *:kick:%antilamer: {
  if ($nick == %Bot) && ($knick == $me) { /cs akick %antilamer clear | /cs clear %antilamer Bans | /set %antpass $+($rand(a,z),$rand(a,z),$rand(a,z),$rand(a,z),$rand(a,z),$rand(a,z),$rand(a,z),$rand(a,z),$rand(a,z)) | /cs set %antilamer password %antpass | /notice #Antilamer possibile take su %antilamer | /timer 1 10 /cs set %antilamer RESTRICTED OFF | /timer 1 12 /cs set %antilamer secureops on | /timer 1 13 /cs SET %antilamer PEACE ON | /cs set %antilamer mlock +fntCTG-ikspzR [3j#R1,5t,5n#N1]:5 | /timer 1 30 /delogall }
  if ($nick != %Bot) { /cs set %antilamer mlock +fntCTQG-ikspzR [3j#R1,5t,5n#N1]:5 | /notice #Antilamer $nick ha kikkato $knick }
  .inc -u360 $+(%,contatore.kick,$chan,$nick)
  if ( $eval($+(%,contatore.kick,$chan,$nick),2) > 4 ) { /cs set %antilamer mlock +fntCTGQ-ikspzR [3j#R1,5t,5n#N1]:5 | /cs levels %antilamer set kick 9999 }
} 

on *:ban:%antilamer: {
  if ($bnick == $me) { /cs unban %antilamer | /mode %antilamer +e $me }
  .inc -u360 $+(%,contatore.ban,%antilamer,$nick)
  if ( $eval($+(%,contatore.ban,%antilamer,$nick),2) > 4 ) && ($bnick != %Bot) { /whois $nick | /ns info $nick | /notice #antilamer $nick ha fatto troppi ban su %antilamer | /cs levels %antilamer set ban 9999 } 
  if ( $eval($+(%,contatore.ban,%antilamer,$nick),2) > 4 ) && ($nick == %Bot) { /cs levels %antikick set ban 9999 | /notice #antilamer attenzione troppi ban da parte del Bot su %antilamer }
  if ($banmask == *!*@) { /cs akick %antilamer clear | //mode -b $banmask | //mode -b $banmask | /timer 3 5 /cs akick %antilamer clear }
  if ($banmask == *!*@.it) { /cs akick %antilamer clear | //mode -b $banmask | //mode -b $banmask | /timer 3 5 /cs akick %antilamer clear }
}
on *:RAWMODE:%antilamer: {
  if (-Q isin $1) && (%modQ == ON) { 
    .mode %antilamer +Q 
    .mode %antilamer +Q 
    .mode %antilamer +Q
    .mode %antilamer +Q
  }
}
on *:connect: {
  .mode $me +T
}
on @*:JOIN:#: { if ($read(lamer.txt, s, $address($nick,2))) { /set %lamerl $calc(%lamer + 1) | mode $chan -o+b $nick $address($nick,2) | kick $chan $nick Fuori Lamer $+ $gettok($read(lamer.txt,$readn),3-,32) } }
alias antilamer {
  if ($dialog(antilamer) == $null) { dialog -m antilamer antilamer }
  else echo 4 -a Dialog gi aperto | halt
}

dialog antilamer {
  title "Antilamer"
  size -1 -1 300 225
  button "&Ok", 2, 100 170 100 26,ok
  list 3, 10 20 220 155, vsbar 
  box Nick, 4, 5 5 390 260 
  text "", 8, 110 270 370 45
  text "apertura dialog antilamer", 9, 110 300 370 45
}

alias addlamer if $dialog(antilamer) == $null dialog -m antilamer antilamer
on *:dialog:antilamer:dclick:3:{ /set %lmer $did(3).sel | /set %cazzodilamer $gettok($did(3).seltext,2,32) | did -d antilamer 3 $did(3).sel 1 |  echo -a $timestamp Lamer tolto | write -dl $+ %lmer lamer.txt }
on *:dialog:antilamer:init:*:{ 
  var %uffa = 1 
  while (%uffa <= $lines(lamer.txt)) { 
    did -a antilamer 3  $gettok($read(lamer.txt,%i),2,32) $chr(124) $gettok($read(lamer.txt,%uffa),1,32) $chr(124) $gettok($read(lamer.txt,$readn),3,32)
    inc %uffa 
  }
}
menu nicklist {
  $iif($$1 = $me,$style(2)) &antilamer
  .Aggiungi $$1:{ if (!$read(lamer.txt, s, $$1)) { $iif(%lamerl,inc %lamerl,set %lamer 1) | write lamer.txt $address($$1,2) $$1 $?="Inserisci il motivo?" | echo -a $timestamp $address($$1,2)  Lamer AGGIUNTO  | mode $chan -oahv+b $$1 $address($$1,2) | kick $chan $$1 Fuori Lamer } | else { $timestamp echo -a $$1  gi nella lista Lamer } }
  .ListaLamer:addlamer 
}
on *:voice:%antilamer: {
  .inc -u60 $+(%,contatore.voice,$chan,$nick)
  if ($nick == %bot) && ( $eval($+(%,contatore.voice,%antilamer,$nick),2) > 4 ) { /notice #antilamer eccesso di flood su %antilamer | /hop %antilamer | /cs levels %antilamer set VOICE 9999 }
}
on *:devoice:%antilamer: {
  .inc -u60 $+(%,contatore.devoice,$chan,$nick)
  if ($nick == %bot) && ( $eval($+(%,contatore.devoice,%antilamer,$nick),2) > 4 ) { /notice #antilamer eccesso di flood su %antilamer | /hop %antilamer | /cs levels %antilamer set VOICE 9999 }
}
on *:help:%antilamer: {
  .inc -u60 $+(%,contatore.halfop,$chan,$nick)
  if ($nick == %bot) && ( $eval($+(%,contatore.halfop,%antilamer,$nick),2) > 4 ) { /notice #antilamer eccesso di flood su %antilamer | /hop %antilamer | /cs levels %antilamer set halfop 9999 }
}
on *:dehelp:%antilamer: {
  .inc -u60 $+(%,contatore.dehalfop,$chan,$nick)
  if ($nick == %bot) && ( $eval($+(%,contatore.dehalfop,%antilamer,$nick),2) > 4 ) { /notice #antilamer eccesso di flood su %antilamer | /hop %antilamer | /cs levels %antilamer set halfop 9999 }
}
on *:op:%antilamer: {
  .inc -u60 $+(%,contatore.op,$chan,$nick)
  if ($nick == %bot) && ( $eval($+(%,contatore.op,%antilamer,$nick),2) > 4 ) { /notice #antilamer eccesso di flood su %antilamer | /hop %antilamer | /cs levels %antilamer set OPDEOP 9999 }
}
on *:deop:%antilamer: {
  .inc -u60 $+(%,contatore.deop,$chan,$nick)
  if ($nick == %bot) && ( $eval($+(%,contatore.deop,%antilamer,$nick),2) > 4 ) { /notice #antilamer eccesso di flood su %antilamer | /hop %antilamer | /cs levels %antilamer set OPDEOP 9999 }
}
on *:connect: { startpass $network }
alias passrand { return $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) }
alias sendtocowners { var %num 1 | while (%num <= %ncowners) { ms send %cowner [ $+ [ %num ] ] $1 | inc %num } }
alias aggiungicowner { if (!%ncowners) { set %ncowners 1 } | else { inc %ncowners } | set %cowner [ $+ [ %ncowners ] ] $1 }
alias impostapass { msg chanserv set %antilamer password $2 | sendtocowners $2 }
alias startpass { timersendpass [ $+ [ $1 ] ] 0 600 impostapass %antilamer $!passrand }
menu channel,menubar {
  .-
  $iif($timer(sendpass $+ $network),Disattiva,Attiva) Timer: $iif($timer(sendpass $+ $network),timersendpass [ $+ [ $network ] ] off,startpass)
  Aggiungi CoOwner: aggiungicowner $?="Inserisci Nick"
}
alias logout { /cs logout %antilamer $1 }
menu status,channel,menubar {
  Logout: logout $?="Inserisci il nick a cui vuoi fare il logout"
}
